package com.mmaingenieria.MMAGestor.interfaces;


import java.util.ArrayList;
import com.mmaingenieria.MMAGestor.beans.Usuario;
import com.mmaingenieria.MMAGestor.controller.usuarios.FiltroUsuarios;

public interface InterfaceUsuarioDAO {
	//Metodos que tendran que implementar MySQLUsuarioDAO, SQLUsuarioDAO, AccessUsuarioDAO,....
    
	public Usuario getUsuarioByUserAndPass (String usuario, String password) throws Exception;
	
	public ArrayList<Usuario> getUsuarios() throws Exception;
	
	public ArrayList<Usuario> getUsuarioById(int id) throws Exception;
	
	public ArrayList<Usuario> getUsuariosByFilter(FiltroUsuarios filtro) throws Exception;
	
	public boolean addUsuario (Usuario usuarioNuevo) throws Exception;
	
	public int getIdByNif (String nif) throws Exception;
	
	public boolean updateUsuario (Usuario usuarioModificado) throws Exception;
	
	public boolean deleteUsuario (int usuario_id) throws Exception;
	
	public boolean actionUsuario (int usuario_id) throws Exception;
	
	public boolean updatePassById (int usuario_id, String nuevaPass) throws Exception;
	
	public String getPassById (int usuario_id) throws Exception;
	
	
	
	//public String getPasswordById(int id);
    //public ArrayList<Usuario> getUsuarios();  
    //public boolean updateUsuario(Usuario usuarioModificado);   
    //public boolean updatePasswordById (String _passNueva,int _usuario_Sesion, int _usuarioId);
    //public boolean addUsuario(Usuario usuarioNuevo);    
    //public boolean deleteUsuario(int usuarioId);   
    //public ArrayList<Usuario> getUsuarios(FiltroUsuario f) throws UsuarioException;
    //public Integer getIdUsuario(String usuario, String pass) throws UsuarioException;
    //public boolean existeNifUsuario(String dni) throws UsuarioException;
    //public boolean existeNombreUsuario(String nombre) throws UsuarioException;

}
